package com.ruoyi.swla2.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 大表档案对象 dw_terminals
 *
 * @author gdqt
 * @date 2023-06-16
 */
@TableName("dw_terminals")
public class Terminals extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 平台表单自增主键
     */
    @TableId(value="ID",type = IdType.AUTO)
    private Long ID;

    /**
     * 设备归属水司
     */
    @Excel(name = "设备归属水司")
    @TableField("tenant_id")
    private String tenantId;

    /**
     * 厂家编号
     */
    @Excel(name = "厂家编号")
    @TableField("SupplierID")
    private String SupplierID;

    /**
     * 设备主键
     */
    @Excel(name = "设备主键")
    @TableField("TerminalID")
    private String TerminalID;

    /**
     * 终端设备名称
     */
    @Excel(name = "终端设备名称")
    @TableField("TerminalName")
    private String TerminalName;

    /**
     * 终端使用状态(0-停用，1-使用）
     */
    @Excel(name = "终端使用状态(0-停用，1-使用）")
    @TableField("TerminalMark")
    private Long TerminalMark;

    /**
     * 是否有压力监测功能\r\n  1-是、0-否
     */
    @Excel(name = "是否有压力监测功能\r\n  1-是、0-否")
    @TableField("CurrentPressure")
    private Long CurrentPressure;

    /**
     * 终端安装地址
     */
    @Excel(name = "终端安装地址")
    @TableField("TerminalInstallAddr")
    private String TerminalInstallAddr;

    /**
     * 终端安装日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "终端安装日期", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("TerminalInstallDate")
    private Date TerminalInstallDate;

    /**
     * 终端位置纬度
     */
    @Excel(name = "终端位置纬度")
    @TableField("Lat")
    private String Lat;

    /**
     * 终端位置经度
     */
    @Excel(name = "终端位置经度")
    @TableField("Lng")
    private String Lng;

    /**
     * 终端位置-定位控件用
     */
    @Excel(name = "终端位置-定位控件用")
    @TableField("LngLatTemp")
    private String LngLatTemp;

    /**
     * 口径（mm）
     */
    @Excel(name = "口径", readConverterExp = "m=m")
    @TableField("Caliber")
    private Long Caliber;

    /**
     * 设备类型：0：垂直螺旋机械表；1：水平螺旋机械表；2：超声波水表；3：电磁水表管段式；4：电磁水表插入式
     */
    @Excel(name = "设备类型：0：垂直螺旋机械表；1：水平螺旋机械表；2：超声波水表；3：电磁水表管段式；4：电磁水表插入式")
    @TableField("ModuleType")
    private String ModuleType;

    /**
     * 采集频率：1分钟；5分钟；15分钟
     */
    @Excel(name = "采集频率：1分钟；5分钟；15分钟")
    @TableField("CollectionFrequency")
    private Long CollectionFrequency;

    /**
     * 上传频率 ：1分钟；15分钟；60分钟；240分钟；480分钟
     */
    @Excel(name = "上传频率 ：1分钟；15分钟；60分钟；240分钟；480分钟")
    @TableField("UploadFrequency")
    private Long UploadFrequency;

    /**
     * 使用性质，1：大用户贸易表；2：监测表(-1)
     */
    @Excel(name = "使用性质，1：大用户贸易表；2：监测表(-1)")
    @TableField("UseType")
    private Long UseType;

    /**
     * 备注
     */
    @Excel(name = "备注")
    @TableField("Remark")
    private String Remark;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("CreateDatetime")
    private Date CreateDatetime;

    /**
     * IMEI(-1)
     */
    @Excel(name = "IMEI(-1)")
    @TableField("IMEI")
    private String IMEI;


    private String images;

    private String videos;

    @TableField("EasIonID")
    private String easIonId;

    /**
     * 实时数据
     */
    @TableField(exist = false)
    private RealtimeGatherData realtimeGatherData;

    public void setID(Long ID) {
        this.ID = ID;
    }

    public Long getID() {
        return ID;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setSupplierID(String SupplierID) {
        this.SupplierID = SupplierID;
    }

    public String getSupplierID() {
        return SupplierID;
    }

    public void setTerminalID(String TerminalID) {
        this.TerminalID = TerminalID;
    }

    public String getTerminalID() {
        return TerminalID;
    }

    public void setTerminalName(String TerminalName) {
        this.TerminalName = TerminalName;
    }

    public String getTerminalName() {
        return TerminalName;
    }

    public void setTerminalMark(Long TerminalMark) {
        this.TerminalMark = TerminalMark;
    }

    public Long getTerminalMark() {
        return TerminalMark;
    }

    public void setCurrentPressure(Long CurrentPressure) {
        this.CurrentPressure = CurrentPressure;
    }

    public Long getCurrentPressure() {
        return CurrentPressure;
    }

    public void setTerminalInstallAddr(String TerminalInstallAddr) {
        this.TerminalInstallAddr = TerminalInstallAddr;
    }

    public String getTerminalInstallAddr() {
        return TerminalInstallAddr;
    }

    public void setTerminalInstallDate(Date TerminalInstallDate) {
        this.TerminalInstallDate = TerminalInstallDate;
    }

    public Date getTerminalInstallDate() {
        return TerminalInstallDate;
    }

    public void setLat(String Lat) {
        this.Lat = Lat;
    }

    public String getLat() {
        return Lat;
    }

    public void setLng(String Lng) {
        this.Lng = Lng;
    }

    public String getLng() {
        return Lng;
    }

    public void setLngLatTemp(String LngLatTemp) {
        this.LngLatTemp = LngLatTemp;
    }

    public String getLngLatTemp() {
        return LngLatTemp;
    }

    public void setCaliber(Long Caliber) {
        this.Caliber = Caliber;
    }

    public Long getCaliber() {
        return Caliber;
    }

    public void setModuleType(String ModuleType) {
        this.ModuleType = ModuleType;
    }

    public String getModuleType() {
        return ModuleType;
    }

    public void setCollectionFrequency(Long CollectionFrequency) {
        this.CollectionFrequency = CollectionFrequency;
    }

    public Long getCollectionFrequency() {
        return CollectionFrequency;
    }

    public void setUploadFrequency(Long UploadFrequency) {
        this.UploadFrequency = UploadFrequency;
    }

    public Long getUploadFrequency() {
        return UploadFrequency;
    }

    public void setUseType(Long UseType) {
        this.UseType = UseType;
    }

    public Long getUseType() {
        return UseType;
    }

    @Override
    public String getRemark() {
        return Remark;
    }

    @Override
    public void setRemark(String remark) {
        Remark = remark;
    }

    public void setCreateDatetime(Date CreateDatetime) {
        this.CreateDatetime = CreateDatetime;
    }

    public Date getCreateDatetime() {
        return CreateDatetime;
    }

    public void setIMEI(String IMEI) {
        this.IMEI = IMEI;
    }

    public String getIMEI() {
        return IMEI;
    }

    public String getImages() {
        return images;
    }

    public void setImages(String images) {
        this.images = images;
    }

    public String getVideos() {
        return videos;
    }

    public void setVideos(String videos) {
        this.videos = videos;
    }

    public RealtimeGatherData getRealtimeGatherData() {
        return realtimeGatherData;
    }

    public void setRealtimeGatherData(RealtimeGatherData realtimeGatherData) {
        this.realtimeGatherData = realtimeGatherData;
    }

    public String getEasIonId() {
        return easIonId;
    }

    public void setEasIonId(String easIonId) {
        this.easIonId = easIonId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("ID", getID())
                .append("tenantId", getTenantId())
                .append("SupplierID", getSupplierID())
                .append("TerminalID", getTerminalID())
                .append("TerminalName", getTerminalName())
                .append("TerminalMark", getTerminalMark())
                .append("CurrentPressure", getCurrentPressure())
                .append("TerminalInstallAddr", getTerminalInstallAddr())
                .append("TerminalInstallDate", getTerminalInstallDate())
                .append("Lat", getLat())
                .append("Lng", getLng())
                .append("LngLatTemp", getLngLatTemp())
                .append("Caliber", getCaliber())
                .append("ModuleType", getModuleType())
                .append("CollectionFrequency", getCollectionFrequency())
                .append("UploadFrequency", getUploadFrequency())
                .append("UseType", getUseType())
                .append("ReMark", getRemark())
                .append("CreateDatetime", getCreateDatetime())
                .append("IMEI", getIMEI())
                .toString();
    }
}
